let initState = {
    name:"张三",
    age:20,
    arr:[],
    searcharr:[] // 始终不改变，用于搜索
}
// action 是用来修改仓库里的数据的，但是action不能直接触发，需要通过dispacth来触发
// 举个例子，action就是一把枪，dispact就是用来扣动扳机的人
let appreducer =  (state = initState ,action) => { // state是放咱们初始化定义的数据的，action是放修改这些数据的对象
    console.log(action);
    let newobj = JSON.parse(JSON.stringify(state))
    if (action.type === "setname") {
        // 在redux中一般情况下不直接修改原来的数据 ，需要拷贝一份
        newobj.name = action.payload
        return newobj
    } else if (action.type === "getlist") {
        newobj.arr = action.payload
        newobj.searcharr = action.payload
        return newobj
    } else if (action.type === "searchfn") {
      let filterarr =  newobj.searcharr.filter((item)=>{
          return item.lian === action.payload.lian && item.date === action.payload.date
      })
      newobj.arr = filterarr
      return newobj
    }
     else {
        return state
    }
}
export default appreducer